home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / gnustuff / tos / updates / update28.zoo / gcc / diffs
Encoding:
Text File  |  1993-02-17  |  11.9 KB  |  368 lines

  1. RCS file: /net/acae127/home/bammi/etc/src/master/gnu/gcc/PatchLev.h,v
  2. retrieving revision 1.11
  3. diff -c -r1.11 PatchLev.h
  4. *** 1.11    1992/12/01 20:46:21
  5. --- PatchLev.h    1993/01/12 00:47:04
  6. ***************
  7. *** 1,4 ****
  8. ! #define PatchLevel "1"
  9.   
  10.   /*
  11.    *    the Patch Level above is to identify the version
  12. --- 1,4 ----
  13. ! #define PatchLevel "2"
  14.   
  15.   /*
  16.    *    the Patch Level above is to identify the version
  17. ===================================================================
  18. RCS file: /net/acae127/home/bammi/etc/src/master/gnu/gcc/README.TOS,v
  19. retrieving revision 1.9
  20. diff -c -r1.9 README.TOS
  21. *** 1.9    1992/11/30 20:44:41
  22. --- README.TOS    1993/01/12 00:47:06
  23. ***************
  24. *** 1,17 ****
  25.   This is the README file for the GNU native/cross compiler. Diffs are
  26. ! with respect to GCC V2.3.1
  27.   
  28.       -configuration:
  29. !         copy all the files from the gcc v2.3.1 distribution
  30.           into a directory called SRC (i created symbolic links between
  31.           the files).
  32. !         copy all the files from the gcc v2.3.1 distribution
  33.                sub-directory config into SRC/config
  34.           copy all the files in this directory into SRC.
  35.           copy xm-atari.h and tm-atari.h into SRC/config
  36.           cd to SRC
  37.           Apply the diffs using larry walls patch program
  38. !             patch -p < gcc-231.diff
  39.           make the following links in SRC
  40.               config.h to config/xm-atari.h
  41.               tconfig.h to config/xm-atari.h
  42. --- 1,17 ----
  43.   This is the README file for the GNU native/cross compiler. Diffs are
  44. ! with respect to GCC V2.3.3
  45.   
  46.       -configuration:
  47. !         copy all the files from the gcc v2.3.3 distribution
  48.           into a directory called SRC (i created symbolic links between
  49.           the files).
  50. !         copy all the files from the gcc v2.3.3 distribution
  51.                sub-directory config into SRC/config
  52.           copy all the files in this directory into SRC.
  53.           copy xm-atari.h and tm-atari.h into SRC/config
  54.           cd to SRC
  55.           Apply the diffs using larry walls patch program
  56. !             patch -p < gcc-233.diff
  57.           make the following links in SRC
  58.               config.h to config/xm-atari.h
  59.               tconfig.h to config/xm-atari.h
  60. RCS file: /net/acae127/home/bammi/etc/src/master/gnu/gcc/cccp.c,v
  61. retrieving revision 1.16
  62. diff -c -r1.16 cccp.c
  63. *** 1.16    1992/12/28 05:27:32
  64. --- cccp.c    1993/01/12 00:47:09
  65. ***************
  66. *** 1805,1810 ****
  67. --- 1805,1815 ----
  68.              && p[len - 2] == 'c'
  69.              && p[len - 1] == 'c')
  70.       deps_output (p, len - 3);
  71. +       else if (p[len - 4] == '.'
  72. +            && p[len - 3] == 'c'
  73. +            && p[len - 2] == 'x'
  74. +            && p[len - 1] == 'x')
  75. +     deps_output (p, len - 4);
  76.         else if (p[len - 2] == '.' && p[len - 1] == 's')
  77.       deps_output (p, len - 2);
  78.         else if (p[len - 2] == '.' && p[len - 1] == 'S')
  79. ===================================================================
  80. RCS file: /net/acae127/home/bammi/etc/src/master/gnu/gcc/cp-decl.c,v
  81. retrieving revision 1.8
  82. diff -c -r1.8 cp-decl.c
  83. *** 1.8    1992/12/27 23:27:05
  84. --- cp-decl.c    1993/01/12 00:47:14
  85. ***************
  86. *** 3752,3757 ****
  87. --- 3752,3759 ----
  88.           if (match)
  89.             return TREE_VALUE (match);
  90.           context = DECL_CONTEXT (context);
  91. +         if (context && TREE_CODE (context) == RECORD_TYPE)
  92. +         context = TREE_CHAIN (context);
  93.         }
  94.         break;
  95.       case FUNCTION_DECL:
  96. ***************
  97. *** 7245,7253 ****
  98. --- 7247,7262 ----
  99.         tree loc_typedecl;
  100.         register int i = sizeof (struct lang_decl_flags) / sizeof (int);
  101.         register int *pi;
  102. +        struct binding_level *local_binding_level;
  103.   
  104.         /* keep `grokdeclarator' from thinking we are in PARM context.  */
  105.         pushlevel (0);
  106. +        /* poplevel_class may be called by grokdeclarator which is called in
  107. +           start_decl which is called below. In this case, our pushed level
  108. +           may vanish and poplevel mustn't be called. So remember what we
  109. +           have pushed and pop only if that is matched by 
  110. +           current_binding_level later. mnl@dtro.e-technik.th-darmstadt.de */
  111. +        local_binding_level = current_binding_level;
  112.         loc_typedecl = start_decl (declarator, declspecs, initialized, NULL_TREE);
  113.   
  114.         pi = (int *) permalloc (sizeof (struct lang_decl_flags));
  115. ***************
  116. *** 7256,7262 ****
  117.         DECL_LANG_SPECIFIC (loc_typedecl) = (struct lang_decl *) pi;
  118.         /* This poplevel conflicts with the popclass over in
  119.            grokdeclarator.  See ``This popclass conflicts'' */
  120. !       poplevel (0, 0, 0);
  121.   
  122.   #if 0
  123.         if (TREE_CODE (TREE_TYPE (loc_typedecl)) == ENUMERAL_TYPE)
  124. --- 7265,7272 ----
  125.         DECL_LANG_SPECIFIC (loc_typedecl) = (struct lang_decl *) pi;
  126.         /* This poplevel conflicts with the popclass over in
  127.            grokdeclarator.  See ``This popclass conflicts'' */
  128. !        if (current_binding_level == local_binding_level)
  129. !         poplevel (0, 0, 0);
  130.   
  131.   #if 0
  132.         if (TREE_CODE (TREE_TYPE (loc_typedecl)) == ENUMERAL_TYPE)
  133. ***************
  134. *** 9389,9394 ****
  135. --- 9399,9406 ----
  136.     return ref;
  137.   }
  138.   
  139. + static tree classlocal_enum_decls = NULL_TREE;
  140.   /* Begin compiling the definition of an enumeration type.
  141.      NAME is its name (or null if anonymous).
  142.      Returns the type object, as yet incomplete.
  143. ***************
  144. *** 9414,9421 ****
  145. --- 9426,9438 ----
  146.       {
  147.         enumtype = make_node (ENUMERAL_TYPE);
  148.         pushtag (name, enumtype);
  149. +       if (current_class_type != NULL_TREE)
  150. +       TREE_ADDRESSABLE (b->tags) = 1;
  151.       }
  152.   
  153. +   classlocal_enum_decls = NULL_TREE;
  154.     if (TYPE_VALUES (enumtype) != 0)
  155.       {
  156.         /* This enum is a named one that has been declared already.  */
  157. ***************
  158. *** 9587,9592 ****
  159. --- 9604,9623 ----
  160.         GNU_xref_decl (current_function_decl, decl);
  161.       }
  162.   
  163. +   if (current_class_type != NULL_TREE)
  164. +     {
  165. +       /* class local enum declaration */
  166. +       decl = build_lang_field_decl (CONST_DECL, name, integer_type_node);
  167. +       DECL_INITIAL (decl) = value;
  168. +       TREE_READONLY (decl) = 1;
  169. +       pushdecl_class_level (decl);
  170. +       /* chain the decl in the tree classlocal_enum_decls
  171. +      See grok_enum_decls () where it is used and reset. */
  172. +       TREE_CHAIN (decl) = classlocal_enum_decls;
  173. +       classlocal_enum_decls = decl;
  174. +     }
  175.     /* Set basis for default for next value.  */
  176.     enum_next_value = build_binary_op_nodefault (PLUS_EXPR, value,
  177.                              integer_one_node, PLUS_EXPR);
  178. ***************
  179. *** 9600,9635 ****
  180.   grok_enum_decls (type, decl)
  181.        tree type, decl;
  182.   {
  183. !   struct binding_level *b = class_binding_level;
  184. !   tree tag = NULL_TREE;
  185. !   tree values;
  186.   
  187. !   while (b)
  188. !     {
  189. !       tag = value_member (type, b->tags);
  190. !       if (tag)
  191. !     break;
  192. !       b = b->level_chain;
  193. !     }
  194.   
  195. !   if (b == 0 || (b != class_binding_level) || TREE_ADDRESSABLE (tag))
  196.       return decl;
  197. !   else
  198. !     TREE_ADDRESSABLE (tag) = 1;
  199. !   values = TYPE_VALUES (type);
  200. !   while (values)
  201.       {
  202. !       /* Create a declaration for the enum value name.  */
  203. !       tree next = build_lang_field_decl (CONST_DECL, TREE_PURPOSE (values), type);
  204. !       TREE_READONLY (next) = 1;
  205. !       DECL_INITIAL (next) = TREE_VALUE (values);
  206. !       TREE_CHAIN (next) = decl;
  207. !       decl = next;
  208. !       pushdecl_class_level (decl);
  209. !       values = TREE_CHAIN (values);
  210.       }
  211. !   return decl;
  212.   }
  213.   
  214.   /* Create the FUNCTION_DECL for a function definition.
  215. --- 9631,9655 ----
  216.   grok_enum_decls (type, decl)
  217.        tree type, decl;
  218.   {
  219. !   tree d, ret;
  220.   
  221. !   d = ret = classlocal_enum_decls;
  222. !   classlocal_enum_decls = NULL_TREE;
  223.   
  224. !   if (d == 0)
  225.       return decl;
  226. !   
  227. !   for (;;)
  228.       {
  229. !       TREE_TYPE (d) = type;
  230. !       if (TREE_CHAIN (d) == NULL_TREE)
  231. !     {
  232. !       TREE_CHAIN (d) = decl;
  233. !       break;
  234. !         }
  235. !       d = TREE_CHAIN (d);
  236.       }
  237. !   return ret;
  238.   }
  239.   
  240.   /* Create the FUNCTION_DECL for a function definition.
  241. ===================================================================
  242. RCS file: /net/acae127/home/bammi/etc/src/master/gnu/gcc/cp-parse.y,v
  243. retrieving revision 1.9
  244. diff -c -r1.9 cp-parse.y
  245. *** 1.9    1992/11/30 20:34:20
  246. --- cp-parse.y    1993/01/12 00:47:19
  247. ***************
  248. *** 2335,2341 ****
  249.                 if (TREE_CODE (t) == ENUMERAL_TYPE && TREE_NONLOCAL_FLAG (t))
  250.               $$ = grok_enum_decls (t, $2);
  251.                 else
  252. !             $$ = $2;
  253.               }
  254.             end_exception_decls ();
  255.           }
  256. --- 2335,2357 ----
  257.                 if (TREE_CODE (t) == ENUMERAL_TYPE && TREE_NONLOCAL_FLAG (t))
  258.               $$ = grok_enum_decls (t, $2);
  259.                 else
  260. !             {
  261. !                /* if a component is a typedef, it is inserted
  262. !                   in the list of nodes that make up the valid
  263. !                   types in the scope. Thus its chain field is
  264. !                   used and can't be used a second time for linking
  265. !                   the components of the struct. So, we make a copy
  266. !                   here. This apparently works. The proper thing
  267. !                   to do, however, would be to use a TREE_LIST
  268. !                   node to reference the typedef. I tried to rewrite
  269. !                   finish_struct accordingly (i.e., ``dereference''
  270. !                   components TREE_LIST before use, but I gave up.
  271. !                   mnl@dtro.e-technik.th-darmstadt.de */
  272. !                if (TREE_CODE ($2) == TYPE_DECL)
  273. !                  $$ = copy_node ($2);
  274. !                else
  275. !                 $$ = $2;
  276. !             }
  277.               }
  278.             end_exception_decls ();
  279.           }
  280. ===================================================================
  281. RCS file: /net/acae127/home/bammi/etc/src/master/gnu/gcc/fixincludes,v
  282. retrieving revision 1.9
  283. diff -c -r1.9 fixincludes
  284. *** 1.9    1992/12/27 23:27:44
  285. --- fixincludes    1993/01/12 00:47:22
  286. ***************
  287. *** 177,182 ****
  288. --- 177,193 ----
  289.             dirname=`echo $dirname | sed -e 's|[^/]*/||'`
  290.           done
  291.         fi
  292. +           # Duplicate directory structure created in ${LIB}/$file in new
  293. +           # root area.
  294. +           for file2 in $files; do
  295. +             if expr ${file2} : "${file}/.*" > /dev/null ; then
  296. +               dupdir=${LIB}/root$x/`echo $file2 | sed -n "s|^${file}/||p"`
  297. + #              echo "Duplicating from ${file}'s ${file2} to ${dupdir}"
  298. +               if [ ! -d ${dupdir} ] ; then
  299. +                 mkdir ${dupdir}
  300. +                 fi
  301. +               fi
  302. +             done
  303.         rm -fr ${LIB}/$file > /dev/null 2>&1
  304.         ln -s ${LIB}/root$x ${LIB}/$file > /dev/null 2>&1
  305.         treetops="$treetops $x ${LIB}/root$x"
  306. ===================================================================
  307. RCS file: /net/acae127/home/bammi/etc/src/master/gnu/gcc/config/bsd386.h,v
  308. retrieving revision 1.3
  309. diff -c -r1.3 bsd386.h
  310. *** 1.3    1992/11/30 20:37:11
  311. --- bsd386.h    1993/01/12 00:47:51
  312. ***************
  313. *** 92,105 ****
  314. --- 92,115 ----
  315.      PREFIX is the class of label and NUM is the number within the class.
  316.      This is suitable for output with `assemble_name'.  */
  317.   
  318. + #ifdef NO_UNDERSCORES
  319.   #define ASM_GENERATE_INTERNAL_LABEL(BUF,PREFIX,NUMBER)    \
  320. +     sprintf ((BUF), "*.%s%d", (PREFIX), (NUMBER))
  321. + #else
  322. + #define ASM_GENERATE_INTERNAL_LABEL(BUF,PREFIX,NUMBER)    \
  323.       sprintf ((BUF), "*%s%d", (PREFIX), (NUMBER))
  324. + #endif
  325.   
  326.   /* This is how to output an internal numbered label where
  327.      PREFIX is the class of label and NUM is the number within the class.  */
  328.   
  329. + #ifdef NO_UNDERSCORES
  330. + #define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM)    \
  331. +   fprintf (FILE, ".%s%d:\n", PREFIX, NUM)
  332. + #else
  333.   #define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM)    \
  334.     fprintf (FILE, "%s%d:\n", PREFIX, NUM)
  335. + #endif
  336.   
  337.   /* This is how to output a reference to a user-level label named NAME.  */
  338.   
  339. ===================================================================
  340. RCS file: /net/acae127/home/bammi/etc/src/master/gnu/gcc/config/sparc.h,v
  341. retrieving revision 1.8
  342. diff -c -r1.8 sparc.h
  343. *** 1.8    1992/11/30 20:38:41
  344. --- sparc.h    1993/01/12 00:47:52
  345. ***************
  346. *** 1716,1722 ****
  347.       base = XEXP (addr, 0), index = XEXP (addr, 1);        \
  348.         fputs (reg_names[REGNO (base)], FILE);            \
  349.         if (index == 0)                        \
  350. !     fprintf (FILE, "%+d", offset);                \
  351.         else if (GET_CODE (index) == REG)                \
  352.       fprintf (FILE, "+%s", reg_names[REGNO (index)]);    \
  353.         else if (GET_CODE (index) == SYMBOL_REF)            \
  354. --- 1716,1722 ----
  355.       base = XEXP (addr, 0), index = XEXP (addr, 1);        \
  356.         fputs (reg_names[REGNO (base)], FILE);            \
  357.         if (index == 0)                        \
  358. !     fprintf (FILE, "+%d", offset);                \
  359.         else if (GET_CODE (index) == REG)                \
  360.       fprintf (FILE, "+%s", reg_names[REGNO (index)]);    \
  361.         else if (GET_CODE (index) == SYMBOL_REF)            \
  362.